const express = require('express');
const passport = require('passport');
const router = express.Router();
const authController = require('../controllers/authController');

// 获取Google登录URL
router.get('/google-login-url', authController.getGoogleAuthUrl);

// 初始OAuth URL - 这个URL应该返回给前端
router.get('/google', passport.authenticate('google', {
    scope: ['profile', 'email']
}));

// 回调URL - 这个URL是给Google回调的，不是给用户直接访问的
router.get('/google/callback', authController.googleCallback     
);

// 添加一个全局错误处理中间件
router.use((err, req, res, next) => {
    console.error('【路由错误】', err);
    if (err.name === 'InternalOAuthError') {
        return res.redirect(`http://localhost:5173/site/#/login?error=oauth`);
    }
    next(err);
});

// Google登录失败路由
router.get('/google-failure', (req, res) => {
    res.status(401).json({
        success: false,
        message: 'Google登录失败'
    });
});

module.exports = router; 